Electronic documents such as web pages are often designed to be displayed on regular desktop computers with standard size displays. When such documents are displayed on other devices, e.g., handheld devices, mobile phones, television sets or gaming consoles, the size and layout of the display may not render the document in a manner that is convenient to the user. On a small display with relatively low resolution, a document may be displayed such that only a small portion of the document can be shown inside the viewport of the device. In order to view the portions of the document that falls outside the display, the user must scroll horizontally and vertically. These scrolling operations are often inconvenient to the user, particularly since the user input interface on such devices are not designed for accurate scrolling of documents.
One typical solution to this problem has been to resize or move parts of the document, such as reducing image sizes, reducing the number of columns by changing the layout of the document, and changing colors, contrasts, brightness and font sizes. Such approaches have the drawback that the document is not displayed as the document author intended, and information that is inherent in the layout of the document may be lost.